#pragma once
#include <iostream>
#include <cstdio>
#include <string>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

#define FIFO_FILE "./myfifo"
#define MODE 0666
#define N 1024
using namespace std;

enum{
    FIFO_ERROR=1,
    UNLINK_ERROR,
    OPEN_ERROR,
    READ_ERROR
};

class Init{
public:
    Init(){
        //创建命名管道
        int ret=mkfifo(FIFO_FILE,MODE);
        if(ret==-1){
            perror("mkfifo");
            exit(FIFO_ERROR);
        }
    }

    ~Init(){
        //移除命名管道
        int m=unlink(FIFO_FILE);
        if(m==-1){
            perror("unlink");
            exit(UNLINK_ERROR);
        }
    }
};